Simplify reply logic in xenstored. Maintain a linked list
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 9 Oct 2005 22:53:03 +0000 (23:53 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 9 Oct 2005 22:53:03 +0000 (23:53 +0100)
commit5fec4cf7660cbcd50a016750b5de37394c6a65b1
treedaaf58a55dd3d55eb08c45c34f77fa10a6fd24c8
parent25517fd2f2a26162a466a0933cb56c49373fbae7
Simplify reply logic in xenstored. Maintain a linked list
of pending replies that are sent out in order.

Currently we only read new requests when the reply list is
empty. In fact there is no good reason for this restriction.
Another interesting point is that (on my test machine)
hotplug blk setup fails if xenstored_client connects to
xenstored via the unix domain socket rather than through the
kernel --- this points to some user/kernel races that are
'fixed' by the extra serialisation of the in-kernel mutexes.
It definitely needs looking into.

Signed-off-by: Keir Fraser <keir@xensource.com>
tools/xenstore/xenstored_core.c
tools/xenstore/xenstored_core.h
tools/xenstore/xenstored_domain.c
tools/xenstore/xenstored_watch.c
tools/xenstore/xenstored_watch.h
xen/include/public/io/xs_wire.h